<?php
/**
* La classe abstraite AbstractPublishableltem implémente l'interface Publishable et possède donc ces deux méthodes:
*
* 1) getPublicationDate qui ne prend aucun paramètre et retourne une valeur de type int .
*
* 2) getAuthor qui ne prend aucun paramètre et retourne une valeur de type string .
*
* En plus de ces méthodes elle possède un constructeur qui prend en paramètre une date de plublication au format int et un nom d'auteur au format string.
*
*
* Les variable:
*
* $PublicationDate stocke la date de publication au format int.
*
* $PublicationAuthor stocke le nom de l'auteur au format string.
*/


abstract class AbstractPublishableltem  implements Publishable,ClassName {
    private $PublicationDate;
    private $PublicationAuthor;

	public function __construct ($_PublicationDate, $_PublicationAuthor){
        $this->PublicationDate = $_PublicationDate;
        $this->PublicationAuthor = $_PublicationAuthor;
        
        }
    
	public function getPublicationDate(){
        /**
        * getPublicationDate() ne prend aucun paramètre et retourne une valeur de type int correspondant à la date de publication.
        */
        return $this ->PublicationDate;
        }

    public function getAuthor (){
        /**
        * getAuthor() ne prend aucun paramètre et retourne une valeur de type string corepondant à l'auteur de publication.
        */
        return $this ->PublicationAuthor;
        }

	public function getClassName () {
		get_class ($this);
	}
}
	
?>
